// pages/login/login.js
Page({

  /**
   * 页面的初始数据
   * isHidden: 控制弹窗是否隐藏
   * avatarUrl: 用户头像URL
   * checked: 用户协议是否勾选
   */
  data: {
    isHidden: false, // 默认弹窗隐藏
    avatarUrl: '/images/wx.png', // 默认头像
    checked: false // 默认未勾选协议
  },

  /**
   * 勾选协议处理函数
   */
  choose() {
    let checked = !this.data.checked; // 切换勾选状态
    this.setData({ checked }); // 更新勾选状态
  },

  /**
   * 获取用户头像处理函数
   * @param {Object} e 事件对象
   */
  getAVatar(e) {
    console.log(e); // 打印事件对象
    this.setData({
      avatarUrl: e.detail.avatarUrl // 更新用户头像URL
    });
  },

  /**
   * 获取用户名处理函数
   * @param {Object} e 事件对象
   */
  getName(e) {
    console.log(e); // 打印事件对象
    this.setData({
      nickName: e.detail.value // 更新用户昵称
    });
  },

  /**
   * 微信登录处理函数
   */
  goLogin() {
    if (this.data.checked) { // 检查是否勾选协议
      this.setData({
        isHidden: true, // 显示弹窗
        isLogin: false // 设置登录状态为未登录
      });
    } else {
      wx.showToast({ // 显示提示
        title: '请先勾选用户协议',
        icon: 'none',
        duration: 1000
      });
    }
  },

  /**
   * 其他登录方式处理函数
   */
  otherLogin() {
    if (this.data.checked) { // 检查是否勾选协议
      wx.redirectTo({ // 跳转到其他登录页面
        url: '/pages/Userlogin/Userlogin',
      });
    } else {
      wx.showToast({ // 显示提示
        title: '请先勾选用户协议',
        icon: 'none',
        duration: 1000
      });
    }
  },

  /**
   * 退出登录处理函数
   */
  tuichu() {
    this.setData({
      nickName: '', // 清空昵称
      avatarUrl: '', // 清空头像
      isLogin: false // 设置登录状态为未登录
    });
  },

  /**
   * 弹窗取消处理函数
   */
  potNo() {
    this.setData({
      isHidden: false, // 隐藏弹窗
    });
  },

  /**
   * 弹窗确认处理函数
   */
  data: {
    isHidden: false,
    avatarUrl: '/images/wx.png',
    checked: false,
    gender: 'man' // 默认选择男性
  },

  // 新增性别选择处理函数
  onGenderChange(e) {
      console.log(e.detail);
    this.setData({
      gender: e.detail
    });
  },

  popYes() {
    console.log('进入');
    let avatararUrl = this.data.avatarUrl;
    let nickName = this.data.nickName;
    let gender = this.data.gender; // 获取选择的性别

    if (!avatararUrl) {
      wx.showToast({
        icon: 'error',
        title: '请获取头像',
      });
      return;
    }

    if (!nickName) {
      wx.showToast({
        icon: 'error',
        title: '请获取昵称',
      });
      return;
    }

    wx.cloud.callFunction({
      name: 'checkRegister',
      data: {
        action: 'register',
        username: nickName,
        img: avatararUrl,
        gender: gender // 添加性别参数
      },
      success: (res) => {
        if (res.result.code === 0) {
          console.log('res:', res);
          wx.setStorageSync('userinfo', res.result.data);
          setTimeout(() => {
            wx.switchTab({
              url: '/pages/index/index',
            });
          }, 1000);
        } else {
          wx.showToast({
            title: res.result.msg,
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        console.error('云函数调用失败', err);
        wx.showToast({
          title: '注册失败，请重试',
          icon: 'none'
        });
      }
    });
  }
});